Micron Document
____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|


🬧 The NomadNet Encyclopedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

🔍 Search

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

JQuery
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
(inglese)

«write less, do more.»

(italiano)

«scrivi di meno, fai di più.»

(slogan)

mwcgjQuery è una mwcwlibreria mwdaJavaScript per mwdqapplicazioni web, distribuita come mwdgsoftware libero, distribuito sotto i termini della mwdwLicenza MIT.cite-ref-jquery-mit-1-1[1]. Nasce con l'obiettivo di semplificare la selezione, la manipolazione, la gestione degli eventi e l'animazione di elementi mwfaDOM in pagine mwfqHTML, nonché semplificare l'uso di funzionalità mwfgAJAX, la gestione degli eventi e la manipolazione dei mwfwCSS.

Le sue caratteristiche permettono agli sviluppatori mwgqJavaScript di astrarre le interazioni a basso livello con i contenuti delle pagine mwggHTML. L'approccio di tipo modulare di jQuery consente la creazione semplificata di applicazioni web e contenuti dinamici versatili. Nel 2020, jQuery risulta la libreria JavaScript più utilizzata in Internet, ovvero è presente nel 74,4% dei primi 10 milioni di siti Internet più popolari secondo mwgwW3Techscite-ref-2[2].

Contents

API
Core
CSS
Eventi
AJAX
Note

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Sviluppo

Pubblicato per la prima volta nel gennaio 2006 da John Resig, è un progetto tuttora attivo e in evoluzione, gestito da un gruppo di sviluppatori guidato da Dave Methvincite-ref-3[3].

La selezione degli oggetti DOM è basata sul motore chiamato mwkqSizzle, un progetto mwkgOpen Source derivato da jQuerycite-ref-4[4].

API

Il mwmqframework fornisce metodi e funzioni per gestire al meglio aspetti grafici e strutturali come posizione di elementi, effetto di click su immagini, manipolazione del mwmgDocument Object Model e altro ancora, mantenendo la compatibilità tra mwmwbrowser diversi e mwnastandardizzando gli oggetti messi a disposizione dall'mwnqinterprete JavaScript del browser.

Core

Il core di jQuery fornisce:

• I costruttori per l'utilizzo della libreria stessa

• Per ottenere elementi tramite un selettore (vedere sotto)
• Per ottenere un elemento referenziandolo come parametro
• Per creare ex novo un elemento partendo da codice HTML grezzo

• I metodi e le proprietà per accedere agli elementi contenuti in un oggetto jQuery

• Per conoscere il numero di elementi (funzione mwqqsize() oppure proprietà mwqglength)
• Per iterare ogni elemento (funzione mwraeach())
• Per conoscere il selettore utilizzato o l'elemento DOM referenziato (proprietà selector o context)
• Per ottenere e manipolare elementi nativi (funzioni get() e index())

• I metodi per creare e utilizzare liste e code (di oggetti e funzioni)
• I metodi per estendere il framework mediante mwsqplugin (funzione mwsgextend() e mwswfn.extend())
• I metodi per eseguire animazioni mediante le funzioni mwtqshow(), mwtghide() e mwtwanimate()

Selettori

I selettori sono gli strumenti utilizzati per ottenere l'accesso agli elementi HTML della pagina, utilizzando la stessa sintassi dei selettori mwugCascading Style Sheet, ovvero:

• Per selezionare un elemento in base al suo id (#immagine_24)
• Per selezionare uno o più elementi in base alla classe (mwvg.thumb oppure mwvwdiv.modale oppure mwwa.class1.subclass)
• Per selezionare in modo gerarchico, mediante l'utilizzo di parole chiave come mwwgancestor, mwwwsibling, mwxaprev e altre
• Per selezionare in base a pseudo-classi (mwxg:first, mwxw:last, mwya:not, ecc.)
• Per selezionare in base ad attributi o contenuti (mwyg:contain, mwyw:has, mwza:hidden, mwzq[type="text"], ecc.)

Attributi

Gli attributi sono ottenuti o modificati in maniera diversa a seconda del browser; jQuery aiuta lo sviluppatore offrendo un'unica funzione di frontend valida sia come mwaagetter (ottenere un valore), sia come mwaqsetter (impostare un valore), a seconda che sia specificato o no un parametro:

• Metodo per gli attributi generici (mwbaattr())
• Metodi per le classi

• Per conoscere se un elemento appartiene ad una specifica classe (mwcahasClass())
• Per impostare o rimuovere una classe (mwcgaddClass(), mwcwremoveClass() e lo switch mwdatoggleClass())

• Metodi per il contenuto

• Per il codice HTML, come la proprietà innerHTML (mweahtml())
• Per il contenuto testuale (mwegtext())
• Per il valore, solitamente per i campi di un form, che siano campi testuali, campi multiriga, liste dropdown o checkbox (mwfaval())

DOM Traversing

Per risalire a elementi padre, figli, per i nodi foglia o per elementi successivi, il framework propone numerosi metodi e funzioni per attraversare e scorrere il DOM del documento.

Manipolazione

La manipolazione del DOM è semplificata da numerosi metodi:

• Per aggiungere e rimuovere elementi alla pagina, o in una posizione specifica
• Per sostituire elementi, o per circondarli con del nuovo contenuto
• Per eliminare tutti gli elementi contenuti in un certo nodo, o per copiarli

CSS

Per controllare lo stile degli elementi, in maniera semplificata e standardizzata. Sono forniti i metodi:

• Per cambiare, rimuovere o aggiungere proprietà grafiche di tutti gli elementi selezionati
• Per ottenere e sostituire velocemente proprietà solitamente difficili da manipolare

• Lo scroll di pagina o di un elemento
• Le dimensioni (mwjqheight() e mwjgwidth())
• Le dimensioni interne (escludendo quindi il margine)
• L'offset rispetto ai bordi

Eventi

Il framework riconosce gli oggetti di tipo mwkwevent e provvede a modificare le loro proprietà rendendoli uniformi, semplificando la loro gestione, la loro propagazione, e fornendo un'utile modalità per impedire al browser di continuare l'esecuzione (ad esempio sulla onclick di un link). L'assegnazione di eventi quali click, load, mouseover è gestita in maniera efficace e non invadente.

Effetti bidimensionali

Gli effetti messi a disposizione dal framework, servono a manipolare la visibilità degli elementi selezionati. È possibile mostrarli o nasconderli con vari effetti, tra i quali:

• Effetto mwnafading, la dissolvenza in entrata o uscita
• Effetto mwngsliding, l'effetto scivolata
• Nascondimento o visualizzazione piatta

È possibile definire facilmente effetti personalizzati specificando la proprietà CSS da manipolare (per esempio: altezza, bordo e altro), come è pure possibile specificare la durata dell'effetto e una funzione di mwoqcallback da eseguire dopo l'animazione.

Effetti tridimensionali

Con JQuery si possono creare mwpavisite virtualicite-ref-5[5] e alcuni effetti che simulano il mwqqweb 3Dcite-ref-6[6].

AJAX

La gestione delle chiamate asincrone (mwtaAJAX) è davvero semplificata, e sono fornite le funzioni:

• Per caricare contenuti dinamicamente

• Funzione di caricamento semplice
• Funzione di caricamento di codice HTML con inserimento automatico

• Per eseguire richieste asincrone (con metodo GET/POST)
• Per l'interazione con JavaScript

• Funzione per caricare un oggetto mwvgJSON
• Funzione per caricare un file JavaScript remoto ed eseguirlo automaticamente

Anche gli eventi AJAX sono gestibili in modo semplificato, per il completamento dei form di immissione, la gestione degli errori e l'invio dei dati.

Utilità

La libreria fornisce scorciatoie per gestire vettori, per la manipolazione di stringhe e per il riconoscimento di browser e oggetti/funzioni.

Caratteristiche

L'oggetto principale, di nome mwxqjQuery, è genericamente utilizzato tramite il suo alias, il carattere mwxg$, per mantenere uniformità con la libreria Prototype.

// Tutti i link
var l1 = jQuery('a');
var l2 = $('a');
// l1 e l2 sono oggetti diversi
// ma il loro contenuto è identico

I selettori, in jQuery, utilizzano la sintassi dei selettori css; sono quindi concatenabili e molto precisi nel restituire gli elementi voluti.

// Ritorna tutte le immagini di classe class1 e/o class3
$('img.class1,img.class3');

Concatenazione del codice (mw6wchainability); quasi ogni metodo restituisce lo stesso oggetto jQuery dal quale è stata chiamato. Grazie a questo, il codice è molto più leggibile.

var links = $('a');
links.css( 'color', 'red' );
links.css( 'width', '150px' );
links.show( 1000 );
links.click( function () {
alert( 'clicked!' );
} );

Può essere riscritta come segue

$("a").css( { color: 'red', width: '150px' } )
.show( '1000' )
.click( function () {
alert( 'clicked!' );
} );

La libreria non collide con altri framework quali mwawqPrototype, MooTools, o YUI, e può essere pertanto utilizzata assieme ad esse.

jQuery vanta una discreta varietà di plugin che ne estendono le funzionalità.cite-ref-7[7] Fra i plugin ufficiali vi è mwawoJQuery UI (mwawsuser interface per jQuery), nato per semplificare ed uniformare la gestione di un'interfaccia grafica composta da temi, mwawwwidget, animazioni, transizioni, ecc.

Versioni

| Versione | Versione iniziale | Ultimo aggiornamento | Dimensioni ridotte (KB) | Note aggiuntive |
|---|---|---|---|---|
| 1.0 | 26 agosto 2006 | | | Prima versione stabile |
| 1.1 | 14 gennaio 2007 | | | |
| 1.2 | 10 settembre 2007 | 1.2.6 | 54.5 | |
| 1.3 | 14 gennaio 2009 | 1.3.2 | 55.9 | Sizzle Selector Engine introdotto nel core |
| 1.4 | 14 gennaio 2010 | 1.4.4 | 76.7 | |
| 1.5 | 31 gennaio 2011 | 1.5.2 | 83.9 | Gestione della richiamata differita, riscrittura del modulo ajax |
| 1.6 | 3 maggio 2011 | 1.6.4 | 89.5 | Significativi miglioramenti delle prestazioni per le funzioni attr () e val () |
| 1.7 | 3 novembre 2011 | 1.7.2 (21 marzo 2012) | 92.6 | Nuove API per eventi: .on () e .off (), mentre le vecchie API sono ancora supportate. |
| 1.8 | 9 agosto 2012 | 1.8.3 (13 novembre 2012) | 91.4 | Sizzle Selector Engine riscritto, animazioni migliorate e flessibilità $ (html, props). |
| 1.9 | 15 gennaio 2013 | 1.9.1 (4 febbraio 2013) | 90.5 | Rimozione di interfacce deprecate e pulizia del codice |
| 1.10 | 24 maggio 2013 | 1.10.2 (3 luglio 2013) | 90.9 | Correzioni di bug incorporate e differenze segnalate dai cicli beta 1.9 e 2.0 |
| 1.11 | 24 gennaio 2014 | 1.11.3 (28 aprile 2015) | 93.7 | |
| 1.12 | 8 gennaio 2016 | 1.12.4 (20 maggio 2016) | 94.9 | |
| 2.0 | 18 aprile 2013 | 2.0.3 (3 luglio 2013) | 81.7 | Eliminato il supporto di IE 6–8 per i miglioramenti delle prestazioni e la riduzione delle dimensioni dei file |
| 2.1 | 24 gennaio 2014 | 2.1.4 (28 aprile 2015) | 82.4 | |
| 2.2 | 8 gennaio 2016 | 2.2.4 (20 maggio 2016) | 83.6 | |
| 3.0 | 9 giugno 2016 [ 8 ] | 3.0.0 (9 giugno 2016) | 84.3 | Promesse/A + supporto per Deferreds, $ .ajax e $ .when, .data () compatibile con HTML5 |
| 3.1 | 7 luglio 2016 | 3.1.1 (23 settembre 2016) | 84.7 | jQuery.readyException aggiunta, gli errori del gestore pronto ora non vengono silenziati |
| 3.2 | 16 marzo 2017 [ 9 ] | 3.2.1 (20 marzo 2017) | 84.6 | Aggiunto supporto per il recupero dei contenuti degli elementi <template> e deprecazione di alcuni vecchi metodi. |
| 3.3 | 19 gennaio 2018 [ 10 ] | 3.3.1 (20 gennaio 2018 [ 11 ] ) | 84.9 | Deprecazione di vecchie funzioni, le funzioni che accettano le classi ora le supportano anche in formato array. |
| 3.4 | 10 aprile 2019 [ 12 ] | 3.4.1 (1 maggio 2019 [ 13 ] ) | 86.1 | Miglioramenti delle prestazioni nonce e supporto nomodule , correzioni per elementi radio, una correzione minore per la sicurezza. |
| 3.5 | 10 aprile 2020 [ 14 ] | 3.5.1 (4 maggio 2020 [ 15 ] ) | 87.4 | Correzioni di sicurezza .even() e .odd() metodi jQuery.trim deprecati |
| 3.6 | 2 marzo 2021 [ 16 ] | 3.6.0 (2 marzo 2021) | 90 | Correzioni di bug e miglioramenti |

Alternative

Diversi articoli hanno fatto notare come, sebbene jQuery fosse una libreria indispensabile per svolgere determinati compiti con JavaScript, con le versioni più recenti di JavaScript e dei browser, le funzionalità di jQuery sono diventate funzionalità standard di JavaScript.cite-ref-17[17]

Nel corso degli anni è nato Vanilla JS, un finto framework JavaScript, il cui scopo è promuovere l'uso di JavaScript senza framework.cite-ref-18[18]

Con la nascita di mwajcHTML 5 e mwajgCSS 3 alcune possibilità come la creazione di gallerie d'immagini, effetti e menu a tendina sono fattibili senza l'utilizzo di JQuery e/o mwajkJQuery UI e/o mwajoAjax, cosa che con HTML 4 e CSS 2 era spesso impossibile farecite-ref-0-19-0[19]cite-ref-20[20]cite-ref-21[21]cite-ref-22[22].

Esempi di uso JQuery

Note

cite-note-jquery-mit-11. mwamc(mwamgmwamkEN) mwamomwamsLicense, su mwamwjQuery Foundation. mwam0URL consultato il 3 giugno 2015.
cite-note-22. mwanemwanimwanmUsage Statistics and Market Share of JavaScript Libraries for Websites, February 2020, su mwanqw3techs.com. mwanuURL consultato il 28 febbraio 2020.
cite-note-33. mwank(mwanomwansEN) JS Foundation- js.foundation, mwanwmwan0The jQuery Team | jQuery Foundation, su mwan4jquery.org. mwan8URL consultato il 28 febbraio 2020.
cite-note-44. mwaom(mwaoqmwaouEN) jQuery Foundation- jquery.org, mwaoymwaocjQuery 1.3 and the jQuery Foundation | Official jQuery Blog, su mwaogblog.jquery.com. mwaokURL consultato il 28 febbraio 2020.
cite-note-55. mwao0(mwao4mwao8EN) Carlos Delgado, mwapamwapeTop 7: Best 360° (Equirectangular) Image Viewer JavaScript Plugins, su mwapiOur Code World, 15 gennaio 2019. mwapmURL consultato il 15 febbraio 2021.
cite-note-66. mwapc(mwapgmwapkEN) mwapomwaps16 Cool jQuery 3D Effect Plugins – Bashooka, su mwapwbashooka.com, 15 settembre 2012. mwap0URL consultato il 15 febbraio 2021.
cite-note-77. mwaqe(mwaqimwaqmEN) mwaqqmwaquArchivio di plugin per jQuery, su mwaqynpmjs.com. mwaqcURL consultato il 30 gennaio 2018.
cite-note-81. mwaqsJames Chesters, mwaqwmwaq0Long-awaited jQuery 3.0 Brings Slim Build, su mwaq4infoq.com, 15 giugno 2016. mwaq8URL consultato il 28 gennaio 2017.
cite-note-92. mwarmmwarqmwarujQuery 3.2.0 Is Out!, in mwaryjQuery Blog, 16 marzo 2017. mwarcURL consultato il 12 marzo 2018.
cite-note-103. mwarsmwarwmwar0jQuery 3.3.0 – A fragrant bouquet of deprecations and…is that a new feature?, in mwar4jQuery Blog, 19 gennaio 2018. mwar8URL consultato il 15 aprile 2019.
cite-note-114. mwasmmwasqmwasujQuery 3.3.1 – fixed dependencies in release tag, in mwasyjQuery Blog, 20 gennaio 2018. mwascURL consultato il 15 aprile 2019.
cite-note-125. mwassmwaswmwas0jQuery 3.4.0 Released, in mwas4jQuery Blog, 10 aprile 2018. mwas8URL consultato il 15 aprile 2019.
cite-note-136. mwatmmwatqmwatujQuery 3.4.1: triggering focus events in IE and finding root elements in iOS 10, in mwatyjQuery Blog, jQuery Foundation.
cite-note-blog-350-release-147. mwatomwatsmwatwjQuery 3.5.0 Released!, in mwat0jQuery Blog, 10 aprile 2020. mwat4URL consultato l'11 aprile 2020.
cite-note-158. mwauimwaummwauqjQuery 3.5.1 Released: Fixing a Regression, in mwauujQuery Blog, jQuery Foundation.
cite-note-169. mwauk(mwauomwausEN) jQuery Foundation- jquery.org, mwauwmwau0jQuery 3.6.0 Released! | Official jQuery Blog, su mwau4blog.jquery.com. mwau8URL consultato il 24 luglio 2022.
cite-note-1717. mwavm(mwavqmwavuEN) mwavymwavc(Now More Than Ever) You Might Not Need jQuery, su mwavgcss-tricks.com, 12 luglio 2017. mwavkURL consultato il 30 gennaio 2018.
cite-note-1818. mwav0(mwav4mwav8EN) mwawamwaweVanilla JS, su mwawivanilla-js.com. mwawmURL consultato il 30 gennaio 2018. mwawu«The Vanilla JS team takes pride in the fact that it is the most lightweight framework available anywhere»
cite-note-0-1919. mwawk(mwawomwawsEN) mwawwmwaw05 things you can do with CSS instead of JavaScript, su mwaw4LogRocket Blog, 29 ottobre 2019. mwaw8URL consultato il 9 febbraio 2021.
cite-note-2020. mwaxm(mwaxqmwaxuEN) mwaxymwaxc49 CSS Galleries, su mwaxgFree Frontend. mwaxkURL consultato il 9 febbraio 2021.
cite-note-2121. mwax0mwax4mwax8LiveCode - HTML5 - Calculator App Demo, su mwayalivecode.com. mwayeURL consultato il 9 febbraio 2021.
cite-note-2222. mwayuAndrea Pacchiarotti, mwayymwaycMenù responsivo in HTML e CSS senza JavaScript e jQuery, su mwaygAndrea pacchiarotti. mwaykURL consultato il 9 febbraio 2021.

Voci correlate

• mway0jQuery UI

Altri progetti

Altri progetti

• Wikibooks
• Wikimedia Commons

• Wikibooks contiene testi o manuali su jQuery
• Wikimedia Commons contiene immagini o altri file su jQuery

Collegamenti esterni

• (EN) Sito ufficiale, su jquery.com.
• (EN) Blog ufficiale, su blog.jquery.com.
• citerefopen-library(EN) Opere riguardanti JQuery / JQuery (altra versione) / JQuery (altra versione), su Open Library, Internet Archive.
• JQuery, su packages.debian.org.
• citerefgithub(EN) JQuery, su GitHub.
• Repository sorgenti di JQuery, su github.com.
• citereffree-software-directory(EN) JQuery, su Free Software Directory.
• mwazq(EN) Sito della fondazione jQuery, su js.foundation.
• mwazy(EN) Sito dello sviluppatore John Resig, su ejohn.org.
• mwazg(EN) Sito web di documentazione completa della libreria, su learn.jquery.com.
• mwazoComunità italiana su jQuery con documentazione e forum, su jqueryitalia.org.
• mwazw(EN) jQuery vs MooTools, su jqueryvsmootools.com. – articolo tecnico di confronto con le librerie MooTools